package leetcode_bin_tree_test;


import bin_tree.TreeNode;

/**
 * 二叉树的最小深度（等于根节点到叶子节点的个数）
 */
public class MinimumDepth {
    public int minDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }
        // 若子树为空最小深度只能是另一个子树的最小深度
        int left = minDepth(root.left);
        int right = minDepth(root.right);
        if (left == 0 || right == 0) {
            return 1 + Math.max(left, right);
        }
        return 1 + Math.min(left, right);
    }
}
